# 1. 获取主页面的源代码，然后提取到子页面的链接地址
# 2. 通过href获取子页面的内容，从子页面中找到图片的下载地址
# 3. 下载图片

import requests
from bs4 import BeautifulSoup
import time

url = "https://www.dailybing.com/"
# 获取页面html内容
resp = requests.get(url)
# 将html内容交给BS4，"html.parser"告知bs4 页面内容
page = BeautifulSoup(resp.text,"html.parser")
# 获取图片列表各图片的a标签
aList = page.find("div",attrs={"class":"list-panel"}).find_all("a")
hrefList = []
for a in aList:
    # 从a标签中获取图片链接
    hrefList.append(a.get("href"))

for href in hrefList:
    # 根据图片链接获取大图页面
    childPageResp = requests.get(href)
    childPageText = childPageResp.text
    childPage = BeautifulSoup(childPageText,"html.parser")
    # 从下载按钮获取图片下载链接，通过.get("href") 获取a标签的href属性
    downloadHref = childPage.find("a",attrs={"title":"4K 3840x2160"}).get("href")
    # 下载图片
    img_resp = requests.get(downloadHref)
    # 获取文件名，通过.split("/")[-1]进行切片并且获得列表最后一项
    name = downloadHref.split("/")[-1]
    # 保存成文件，mode="wb" 表示以二进制格式写入，这样才可以保存图片
    with open("C:/Users/fanyf/Desktop/image/"+name+".jpg",mode="wb") as f:
        # img_resp.content获取图片二进制码，图片写入文件
        f.write(img_resp.content)
        print("成功一张！",name)
        # 暂停1s
        time.sleep(1)


